package com.dhecp.project.system.mapper;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.system.domain.SysFilesInfo;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
/**
 * 文件上传下载Mapper接口
 * 
 * @author kimiloo
 * @date 2020-02-15
 */
public interface SysFilesInfoMapper extends GenericDao<SysFilesInfo, String>{
    
    /**
	 * 通过文件标记获取文件列表
	 */
	List<SysFilesInfo> listByFileMark(@Param("fileMark")String fileMark);
	
    /**
     * 查询文件上传
     * 
     * @param noticeId 文件上传下载ID
     * @return 文件上传下载
     */
    public SysFilesInfo selectSysFilesInfoById(String guid);

    /**
     * 查询文件上传下载列表
     * 
     * @param sysFilesInfo 文件上传下载
     * @return 文件上传下载集合
     */
    List<SysFilesInfo> selectSysFilesInfoList(Map<String, Object> params);
    List<SysFilesInfo> selectSysFilesInfoList2(Map<String, Object> params);

    /**
	 * 查询指定模块的调入打印模板列表
	 * @param fileMark 必要参数：moduleTable值
	 * @return List - SysFilesInfo
	 * @author kimiloo
	 */
	List<SysFilesInfo> findReportForModule(Map<String, Object> params);
	
    /**
     * 新增文件
     * 
     * @param sysFilesInfo 文件上传下载
     * @return 结果
	 * @author kimiloo
     */
    int insertSysFilesInfo(Map<String, Object> params);

    /**
     * 删除文件
     * 
     * @param guid 文件上传下载ID
     * @return 结果
	 * @author kimiloo
     */
    public int deleteSysFilesInfoById(String guid);

    /**
     * 批量删除文件
     * 
     * @param noticeIds 需要删除的数据ID
     * @return 结果
	 * @author kimiloo
     */
    public int deleteSysFilesInfoByIds(String[] noticeIds);
    
    /**
     * 通过guid修改是否隐藏字段
     * @param filesInfo 需包含：guid,bHidden,updateUser,updateTime
     * @return
     * @author DH-Xxj
     */
    int updateBHidden(SysFilesInfo filesInfo);
    
    /**
     * 获取过期删除附件
     * 
     * @param ids 文件guid
     * @param days 附件删除期限
     * @return List - SysFilesInfo
	 * @author kimiloo
     */
    List<SysFilesInfo> overDateList(List<String> ids, Integer days);
    
}
